perroboticafandomcom_pt_br-20200215-history
Classe JoyStick
= Home << Bibliotecas para Arduino < JoyStick = ---- Veja também: * [https://sourceforge.net/p/arduino-libs/wiki/JoyStick/ SourceForge wiki: JoyStick] Classe para controlar um módulo joystick. Declarações públicas: class JoyStick{ public: JoyStick(); void begin(byte xAxisPin, byte yAxisPin, byte zButtonPin); void axisConfig(int normalizeTo, byte tolerance, boolean zIgnoreXY=false); void run(); int readXAxis(); int readYAxis(); boolean readZButton(); protected: virtual void onZButtonPressed(){} virtual void onZButtonReleased(){} virtual void onXAxisChange(int xVal){} virtual void onYAxisChange(int yVal){} }; Como usar Chame begin() antes de qualquer outro método para informar os pinos no arduino. As leituras podem ser configuradas chamando o método axisConfig(). Use readXAxis() e readYAxis() para ler os valores dos eixos e readZButton() para ler o status do botão Z. Se preferir trabalhar com eventos, derive a classe JoyStick e reescreva-os. Nesse caso, não se esqueça de chamar o método run() pelo menos uma vez por loop. ---- void begin(byte xAxisPin, byte yAxisPin, byte zButtonPin) Chame antes de qualquer outro método. Lê os valores dos eixos e os usa como referência para a origem dos eixos (zero). As próximas leituras retornarão valores negativos para valores abaixo da referência. * xAxisPin: pino para o eixo x (analógico). * yAxisPin: pino para o eixo y (analógico). * zButtonPin: pino para o botão z (digital). ---- void axisConfig(int normalizeTo, byte tolerance, boolean zIgnoreXY=false) Configura as leituras dos eixos. Por default, as leituras de eixos XY retornam valores entre -512 e 512 (aproximadamente). O parâmetro normalizeTo faz as leituras serem mapeadas para o valor informado. Por exemplo, se for 100, as leituras retornarão valores entre -100 e 100. * normalizeTo: Valor para normalizar as leituras dos eixos. * tolerance: Variação mínima dos eixos para disparar eventos (depois de normalizado). * zIgnoreXY: Ignora eventos dos eixos XY quando o botão Z está pressionado. ---- void run() Reads axes and button status and triggers events if needed. If you use events, this method must be called at least once per loop. ---- int readXAxis() Read and return the x axis value. The returned value can be normalized if axisConfig() method was called. * return: x axis value normalized. ---- int readYAxis() Read and return the y axis value. The returned value can be normalized if axisConfig() method was called. * return: y axis value normalized. ---- boolean readZButton() Read Z button status. * return: true if Z button is pressed , false if not. ---- virtual void onZButtonPressed() Event triggered when Z button is pressed. Events are triggered by run() method, so to work with events you must call run() at least once per loop. ---- virtual void onZButtonReleased() Event triggered when Z button is released. Events are triggered by run() method, so to work with events you must call run() at least once per loop. ---- virtual void onXAxisChange(int xVal) Event triggered when X axis value change at least the tolerance informed in axisConfig() method (default=1). Events are triggered by run() method, so to work with events you must call run() at least once per loop. * xVal: X axis value. ---- virtual void onYAxisChange(int xVal) Event triggered when Y axis value change at least the tolerance informed in axisConfig() method (default=1). Events are triggered by run() method, so to work with events you must call run() at least once per loop. * yVal: Y axis value.